home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Multimedia / MIDI / Midi Jukebox 2.3 ƒ / Midi JukeBox 2.3 Docs (Text) < prev   
Text File  |  1996-04-09  |  27KB  |  434 lines

  1. Midi JukeBox 2.3
  2. (a.k.a. Square Dance, version 2.3)
  3. Copyright © 1996,
  4. by Randy Wilson (randy@axon.cs.byu.edu)
  5. http://synapse.cs.byu.edu/~randy
  6. http://synapse.cs.byu.edu/~randy/jukebox.html
  7. April 9, 1996
  8.  
  9. Overview
  10.     Midi JukeBox (formerly Square Dance) is a program for the Macintosh which 
  11. plays standard MIDI files, and provides animated “dancing squares” to 
  12. accompany the music.  It also provides several options to make it possible to 
  13. customize songs to your particular MIDI setup.  In particular, Midi JukeBox 
  14. allows you to:
  15.     • Play Midi files through your external synthesizer while enjoying fun 
  16. animation.
  17.     • Play songs in the background while using another application.
  18.     • Create song lists, and play lists in order, random order, continuously, etc.
  19.     • Drag & Drop Midi files for immediate playback.
  20.     • Customize Midi files as follows:
  21.         - Transpose all pitches up or down by any amount
  22.         - Change the tempo of the song during playback
  23.         - Change various text events (track & instrument name, copyright, etc.)
  24.         - Change channel and instrument assignments for each track.
  25.         - Convert a type 0 MIDI file into a type 1 file.
  26.         - Change the type of a file to ‘Midi’ so other software can recognize it.
  27.         - Combine tracks.
  28.         - “Funnel” a file into less than 16 channels (see below).
  29.     The latest version of Midi JukeBox is available at:
  30.  
  31. Funding
  32.     Midi JukeBox is shareware.  You are welcome to try it out for two weeks for 
  33. free.  If you use it after that, you should send $15 ($5 for students) to:
  34.  
  35.         Randy Wilson
  36.         860 East 43rd Ave.
  37.         Eugene, OR 97405
  38.  
  39.     Registered owners will receive
  40.     • the latest version of Midi JukeBox
  41.     • a collection of fun MIDI files.
  42.     • free upgrades to future versions of the program.
  43. Be sure to include your e-mail address, and (optionally) your postal address.
  44. If you have any questions or comments, please contact me by e-mail at: 
  45. randy@axon.cs.byu.edu.
  46.     For information on the latest version of Midi JukeBox, see the Midi JukeBox 
  47. web page at http://synapse.cs.byu.edu/~randy/jukebox.html.
  48.  
  49. System Requirements
  50.     Midi drivers: Midi JukeBox has a built-in Midi driver.  It also supports 
  51. Apple’s MidiManager™, if you have it.  (If you do not have it, it can be 
  52. downloaded via anonymous ftp from unicorn.cerl.uiuc.edu in the directory 
  53. /pub/lime.)  Since Apple may not be continuing support for the Midi Manager, a 
  54. future version of Midi JukeBox will probably use Opcode’s Open Music System 
  55. (OMS).  Note that background playback is limited using the built-in driver, 
  56. because the interrupt-driven playback conflicts with the built-in driver and 
  57. crashes.  Using Apple's MidiManager™ will provide smoother background 
  58. playback.
  59.     Sound Hardware (or software): Midi JukeBox will work best if you have a 
  60. MIDI sound module or keyboard of some sort (preferably General-MIDI 
  61. compatible), and a MIDI interface to go from your Mac’s modem or printer port 
  62. to your synthesizer.  If you don’t have any MIDI hardware, you can still make 
  63. sound through your Mac's speaker (see “QuickTime Music” at the bottom of this 
  64. document), but be warned that it probably won't sound too wonderful.
  65.     Mac Hardware & Software: Midi JukeBox has worked fine under System 6.0.5 
  66. and System 7.1, and has worked on a Mac SE, SE/30, II, and Quadra 840AV.  
  67. Let me know if there is a configuration that it won’t work on.  Most of the 
  68. problems reported so far have been an inability to sign in to the Midi Manager.  
  69. In several cases this was simply because the Midi Manager was not installed 
  70. properly.  Hopefully the built-in driver will take care of most of those problems.
  71.  
  72. Tempo Control
  73.     During playback, you can change the tempo by adjusting the scroll bar at the 
  74. bottom of the playback screen.  Clicking on the arrows changes the tempo by 1 
  75. quarter note per minute, while clicking in the bar changes the tempo by 10 
  76. q./min.  Notes are actually posted to the Midi driver about 1/2 a second before 
  77. they are really played, so changes in tempo will not take effect until after that 
  78. duration.
  79.     If you find that you don’t usually need the tempo bar and would rather not 
  80. look at it, you can deselect the “Display Tempo Bar” option under the Options 
  81. menu.
  82.     If you want to make this change in tempo permanent, select “Fix Tempo...” 
  83. under the Edit menu.  This will make it so that when you save the file, all tempo 
  84. settings will be adjusted by the amount shown.  Of course, the change will still 
  85. not be permanent if you do not save the file.  (See Editing, below).
  86.  
  87. Displaying Text Events
  88.     Text events occurring at time 0 in each track are displayed beneath the track 
  89. on the playback screen.  Text events include instrument names (e.g., acoustic 
  90. guitar, grand piano, snare drum), track names (e.g., Soprano, melody, lead), and 
  91. other miscellaneous text events, such as the title and author of the song, the name 
  92. and e-mail address of the person who sequenced it, and copyright notices.
  93.     Track 0 is the tempo track and does not have channel messages such as note 
  94. on/off events.  It can, however, have text events, so these are displayed centered 
  95. at the bottom of the screen.  When there are multiple text events associated with 
  96. any of the visible tracks, the text will be separated by a semicolon.  
  97. Unfortunately, there is no truly standard way to do text events, so sometimes the 
  98. text will look a little funny.
  99.     If there are too many tracks for large text to fit on the screen, the font size is 
  100. reduced.  If there still isn’t room for all the text, the “visible” track text events 
  101. are not displayed.  If there still isn’t room, then the track 0 text is also hidden, so 
  102. no text will be displayed.  If you want all the text to be displayed in such 
  103. situations, enlarge the window.  If your monitor isn’t big enough, bummer.
  104.  
  105. Editing Track 0 Text Events
  106.     Text events for track 0 can be edited using the “Edit track 0...” option under 
  107. the Edit menu.  This dialog allows you to edit four text events and a copyright 
  108. event.
  109.     I have personally adopted the practice of using text events in track 0 to specify 
  110. the title, composer, and other such information that applies to the entire song, 
  111. while using text events on individual tracks to specify instrument assignment and 
  112. other information that applies specifically to the track.  That way the title and 
  113. other information about the song as a whole appears centered at the bottom of the 
  114. screen, and the information on each track doesn’t get confused with the title, 
  115. author, etc.
  116.     One drawback of this scheme is that some programs will look at track 0 text 
  117. events as cues, and they will be all smashed together in the same place.  Oh, well, 
  118. that’s what we get for having loosely-defined standards.
  119.     As a side note, many sequencers only allow 31 or fewer characters in a text 
  120. event, so if you need more than that, make sure you’re done sequencing it before 
  121. you put too much time into documenting your song via Midi JukeBox.
  122.  
  123. Editing Visible Tracks
  124.     The text events on the “visible” tracks (1..n) can be edited using the “Edit 
  125. visible track...” dialog under the edit window.  You can switch between tracks by 
  126. using the buttons next to the track number at the top.  The “<<“ and “>>“ buttons 
  127. change by steps of five.
  128.     Editing Track Text.  There are separate text boxes for instrument names, 
  129. track names and miscellaneous text events.  I personally like to make sure that I 
  130. give an instrument name for each track so that those trying to play my file on 
  131. another setup have some hope of choosing the right instruments.  I use track 
  132. names for comments that don’t really have to do with the instrument, such as 
  133. “melody”, “lead”, “alto part”, etc.
  134.     To make it easy to assign GMIDI instrument names, the GMIDI instrument 
  135. name for the current program change number is always displayed by the “Copy 
  136. GMIDI Name” button.  Changing the program change number updates the name 
  137. shown, and clicking on this button copies the current name into the instrument 
  138. name editing window.
  139.     Editing Channel Assignments.  The MIDI channel number of the first channel 
  140. event found in the track is shown in the channel text edit box.  A zero or “-” 
  141. indicates that there were no channel messages in the track.  There may be other 
  142. channels used in the track besides that shown, but if you make any changes to the 
  143. track (text/channel#/program#), the channel of every event in the track will be set 
  144. to the one shown.  These are supposed to be single-channel tracks, so usually this 
  145. shouldn’t actually change anything.  If you know that a song has a multi-channel 
  146. track in it, you can leave channels alone while making other changes by setting 
  147. the channel number to “-” (or zero) on each track that you don’t want the channel 
  148. to change on.
  149.     It is often desirable to change the channel such as when you have a synthesizer 
  150. with less available channels than the song you’re trying to play.  In such cases, 
  151. you can assign several tracks with similar instruments to the same channel (this 
  152. can also be done automatically. See “Funneling”, below).  If you want ALL the 
  153. tracks to be assigned to the same channel temporarily, you can use a filter instead 
  154. (see “Filters”, below).
  155.     Editing Program Changes.  In a similar fashion, the first program change 
  156. event occurring in each track is displayed, and its GMIDI instrument assignment 
  157. is shown by the “Copy GMIDI Name” button, as explained above.  Changing the 
  158. program number automatically changes the name displayed there.  Clicking on 
  159. the copy button copies the GMIDI name into the instrument name edit box.  If “-” 
  160. is displayed, then there were no program changes in that track.
  161.     Again, there may be more than one program change on a single track, and 
  162. while I don’t think this is against the rules of MIDI files (especially when 
  163. different instruments are used at different times in a song but on the same 
  164. channel), it doesn’t seem like a great idea.  However, if you know that there are 
  165. several program changes in a single track and you don’t want them to change, set 
  166. the program number to 0 or “-” and it will not change, even if other changes are 
  167. made to the track.
  168.     If the program number is non-zero, a single program change will be inserted 
  169. at the beginning of the track, and all others will be stripped off.  If you want to 
  170. strip off all program changes in a track without inserting another program 
  171. change at the beginning, you can use the value “-1” for the program number.
  172.     Empty Tracks.  Some tracks are used only for text events.  When changes are 
  173. made to the file, any tracks that contain no text or data will be removed.  Thus, if 
  174. you want to get rid of tracks that do nothing but hold text, you can delete the text, 
  175. and the track will be automatically removed when changes take effect.  If you 
  176. want to move the text (such as a title or author) to the track 0 text instead, click 
  177. the “Move to Track 0” button.  Then the title will be nicely centered at the 
  178. bottom instead of sitting under an unused tracks.
  179.     Making Changes Effective.  Many of the changes (such as text, channel, and 
  180. program changes) seem to take effect immediately, but some (such as deleting 
  181. empty tracks) require a conversion process that can take several seconds on slow 
  182. computers and/or large files.  In order to avoid doing the conversion more often 
  183. than necessary, changes are really made to the data only when (1) “Make changes 
  184. now” is selected from the Edit menu, or (2) when the file is saved.  If you have 
  185. any doubt as to how your file is going to look or behave after it is saved and 
  186. reloaded, you can do one of these two things and the data will be converted and 
  187. reinitialized.
  188.  
  189. Type 0 -> Type 1 Conversion
  190.     Midi JukeBox converts type 0 MIDI files (single track) into type 1 files 
  191. (multiple tracks), so it can be used as a type 0->type 1 converter.  During such 
  192. conversions, each channel occurring in the type 0 file is put into its own track in 
  193. the type 1 file, and track 0 is reserved as the tempo track with no channel 
  194. messages.  To make the conversion permanent, simply “Open” the file in Square 
  195. Dance and then “Save” it again (usually with a different file name).
  196.  
  197. Midi File Typer
  198.     Midi JukeBox will usually open only files of type “Midi”.  However, by 
  199. deselecting the option “Display only Midi Files” under the “File” menu, you can 
  200. open files of any type.  Songs will always be saved with a file type of “Midi”, so 
  201. it can be used to make downloaded files visible to other programs (like 
  202. MasterTrax or QuickTime) that require the file to be of type “Midi”.  Simply 
  203. “Open” the file in Midi JukeBox, and then “Save” it again, with either the same or 
  204. a different file name.
  205.     The catch to this is, of course, that you can accidentally open non-midi files.  
  206. Fortunately, all standard MIDI files begin with a special sequence of characters 
  207. that identifies it, so if you pick the wrong kind of file, you’ll see an error 
  208. message and the file will not be opened.
  209.     Note: there are better ways to change the file type if you download songs on a 
  210. regular basis.  For example, a shareware program called “Midi Typer” allows 
  211. you to drag & drop files onto it, and it will change all of the files to the type and 
  212. creator of your choice.  Also, preferences in programs such as Fetch, Netscape, 
  213. StuffIt Expander, Unzip 2.0, uuUndo, and other utilities you may use to 
  214. download, convert, and/or decompress your Midi files have an “Extension 
  215. Mapping” option.  This option allows you to set the file type and creator of files 
  216. that end with, for example '.mid' or '.MID'.  However, just in case a file doesn't 
  217. end in that extension or you somehow got a file that wasn't so mapped, you can 
  218. use Midi JukeBox to set the file type.
  219.  
  220. Filters
  221.     When the “Use filters” option under the Options menu is checked, filters can 
  222. be used to cause certain events to be ignored.  For example, if you would like to 
  223. avoid any program change events from being sent to your synthesizer, you can 
  224. select “no program changes” from the “Filter Settings...” dialog.  You can also 
  225. filter out other events such as pitch bend, control change, etc.
  226.     I found that certain control changes trashed my keyboard's entire memory 
  227. because they were not supported by my keyboard.  You can now select which (if 
  228. any) control changes to allow under the “Filter Settings...” dialog.  If there just a 
  229. few you want to allow, list the control change numbers (you may need to see the 
  230. Midi Implementation Chart for your synth to see which control changes it 
  231. recognizes) and select “Do only these...”  If, on the other hand, your synth 
  232. handles most control changes, but you just want to filter out a few of them, list 
  233. those numbers, and select “Do all but these...”
  234.     You can also filter out drums, which I found essential in trying to play songs 
  235. on a non-multi-timbral synth like a Roland D-50.  Drum events are supposed to 
  236. be sent to channel 10, but if for some reason your drums are on a different 
  237. channel, you can change the drum channel.  This option actually allows you to 
  238. avoid any channel (even if it isn’t the drum channel).
  239.     You can also force all notes to be played to the same channel, which I also 
  240. found useful on a non-multi-timbral setup.  This comes in handy, too, if you want 
  241. to preview a song by having all the notes play to the piano (for example), before 
  242. assigning instrument numbers to each track.  For such activities, set “no program 
  243. changes,” “Play all events to channel 1”, and select “except drums” (so drums will 
  244. still be played on channel 10) or “no drums” (so drums won’t be played at all).
  245.     Note that filters do not change the actual MIDI data, but they are used during 
  246. playback to decide which events to pass on to the Midi driver, and may alter the 
  247. channel of certain events.
  248.     Also note that filters will only work when the “Use Filters” option is checked 
  249. under the option menu.
  250.  
  251. Transposing
  252.     Sometimes songs are just played in the wrong octave for your setup.  Other 
  253. times, you might want to sing or play along with a song, but it is out of your 
  254. range or in the wrong key.  You can use the “Transpose Settings...” dialog to 
  255. decide how many half-steps up or down to transpose an entire song.  Since drums 
  256. usually use a different note for each different sound, transposing drums can be 
  257. very unpleasant, so “except drums” should be checked in most cases.
  258.     Again, the song will be transposed only when “Transpose” is checked under 
  259. the “Options” menu.  Transposing does not change the actual MIDI data, but is 
  260. done in real time during playback.
  261.  
  262. Combining Tracks
  263.     The “Combine Tracks” command under the Edit menu can be used to combine 
  264. two or more tracks into one track with the same channel and program numbers.  
  265. When a song has several tracks that all play the same instrument, it slows down 
  266. the playback, and makes the display more crowded.  Combining tracks can 
  267. alleviate this.
  268.     Combining tracks alters the actual MIDI data, so it is usually a good idea to 
  269. save the file under a different name if you save it, in case you decide you liked it 
  270. better when it was split up.
  271.  
  272. Deleting Tracks
  273.     The “Delete Tracks” command under the Edit menu can be used to delete one 
  274. or more tracks.  Any tracks that have no midi events or text events will 
  275. automatically be checked for deletion, though you can uncheck the boxes 
  276. manually.  I have noticed that several MIDI files have two copies of each track, 
  277. which of course takes more CPU power to play.  Deleting redundant tracks can 
  278. speed things up.  Also, empty tracks clutter the display window.
  279.  
  280. Funnel
  281.     The “Funnel” is used when a song uses more channels that your synth setup 
  282. responds to.  For example, my Roland U-20 only has six levels of multi-timbral 
  283. capabilities (plus drums), so songs that use 8 different channels won’t play 
  284. correctly.  If you have a GMIDI synth that responds to all 16 channels, on the 
  285. other hand, you don’t need a funnel at all.
  286.     To use the funnel, you first need to edit the “Funnel settings...” under the 
  287. Option menu.  There, you check the box by all the channels your MIDI setup 
  288. responds to, and click on the radio button to mark which of these channels is the 
  289. drum channel (usually 10).  For my U-20 setup, I checked numbers 1 through 6 
  290. and 10, and selected the radio button on channel 10.
  291.     You can check the “Automatic Funnel” option under the Options menu to 
  292. cause funneling to take place automatically upon opening a MIDI file, or you can 
  293. turn that option off and use “Funnel Now” to perform the funnel on a file you 
  294. have already opened.
  295.     The funnel does not immediately alter the MIDI data, but changes to the 
  296. channel and program number assignments WILL be retained if any changes are 
  297. made to the file via the Edit menu commands.
  298.     The funnel takes the following steps to try to make the song work better on 
  299. your setup.  If after any step all tracks are using only ‘available’ (i.e., checked) 
  300. channels, then the subsequent steps are not taken:
  301.     1. First see if funnel is needed for this song (if not, do nothing).
  302.     2. If there are any available channels that no track uses, move channel 
  303. assignments to “fill in the holes”.
  304.     3. If there are any tracks that use the same program number (instrument), but 
  305. different channels, combine their channels.
  306.     4. If there are any sound effects, swap them out so they don’t use any 
  307. ‘available’ channels.
  308.     5. Combine the most ‘similar’ instruments until we are only using available 
  309. channels.  The similarity of instruments to each other is determined by a 
  310. hierarchical division of GMIDI program numbers.
  311.     This process may seem confusing, but it makes it much easier for those with 
  312. limited multi-timbral capability to listen to someone else’s GMIDI file.  Of 
  313. course, step 5 assumes that you have your instruments set up in GMIDI order, so 
  314. this still might not help some people.
  315.  
  316. Midi Drivers
  317.     Midi JukeBox originally supported only Apple's MidiManager™.  The current 
  318. version includes a built-in Midi driver for those who don't have the Midi 
  319. Manager.  However, as Macintosh hardware and system software continues to 
  320. evolve, this driver may become incompatible.
  321.     I am not allowed to distribute the Midi Manager with my program, but it is 
  322. available on the internet at various sites, including the Lime demo site given 
  323. above.  Earlier versions (up to 2.1) of Midi Jukebox (and Square Dance) had 
  324. trouble signing in to the Midi Manager.  Beginning with version 2.2, the program 
  325. should be able to sign in to the Midi Manager automatically.  If not, it will allow 
  326. you to make a manual connection using the PatchBay program.  The next time 
  327. you run Midi Jukebox, the connections you made should be re-established 
  328. automatically.    
  329.  
  330. Song Lists
  331.     Midi JukeBox allows you to create lists of songs and play them in a variety of 
  332. ways.
  333.     Creating Lists.  To create a song list, choose “New Song List” from the “Song 
  334. List” menu.  This will open a blank, untitled song list.  You can then add the 
  335. currently-opened song to the list by choosing “Add Current to List”.
  336.     Adding Songs.  To add more than one song to the current list, choose “Add 
  337. Files to List...”  This will bring up a dialog box similar to that used to open files.  
  338. Select individual Midi files and click the “Add” button to add them to the list.  To 
  339. add all of the Midi files in a folder (including all sub-folders), open the desired 
  340. folder, and click on “Scan & Add All”.  Unfortunately, there is nothing on the 
  341. screen to indicate which files have already been added to the list.  However, you 
  342. can delete any duplicates that appear in your list.  You can also add files to a list 
  343. using drag & drag support (see below).
  344.     Deleting Songs.  To delete songs from the list, select the songs you want to 
  345. delete and then hit the “delete” key or choose “Delete Selected” from the song list 
  346. menu.
  347.     Playing Songs.  Options from the song list menu allow you to play the entire 
  348. song list in order or in random order, or to play the list in order beginning from 
  349. the first selected song.  That option is useful when you stop playing a list in the 
  350. middle, and then want to continue.  If you select the “Continuous playback” 
  351. option, then the song list will be played over and over until you select stop.  
  352. When playing in random order, a new random order is used each time through 
  353. the list.
  354.     To play a single song, select it and hit return.
  355.  
  356. Drag & Drop Support
  357.     Midi JukeBox allows you to drag & drop Midi files onto it for immediate 
  358. playback.  A similar result can be achieved by selecting one or more files and 
  359. then double-clicking one of them.
  360.     If only one file is selected, it will be opened & played immediately.  If more 
  361. than one file is selected, they will all be added to a song list (the current list, if 
  362. one is open, or else a new list), and then played in the order received.
  363.     In System 6, only the double-clicking is supported (of course), and then only 
  364. when Midi JukeBox is not yet running.  In System 7, however, you can use 
  365. double-clicking and/or drag & drop either before or after Midi JukeBox is 
  366. running.  Be aware that double-clicking will only work if the files have “Midi 
  367. JukeBox” as their creator, but any Midi files can be dragged onto the Midi 
  368. JukeBox icon and be played.
  369.     In addition, you can drag & drop or double-click song lists to open them.
  370.  
  371. Window Stuff
  372.     The “Window” menu allows you to bring the song window or the list window 
  373. to the front.  It also allows you to hide either or both windows in case you don't 
  374. want them to be displayed.  In addition, it provides an option to hide the song 
  375. window when Midi JukeBox is running in the background.  This makes it so that 
  376. you can listen to songs in the background without being distracted by the 
  377. animation, but causes the animation to reappear when Midi JukeBox is running in 
  378. the foreground.
  379.     Finally, you can also hide the list window while songs are playing, and cause it 
  380. to reappear again whenever you stop playing a song (so that you can, for 
  381. example, choose another song to play from the list).
  382.  
  383. QuickTime Music: Playing music without a synthesizer.
  384.     It is possible to use Apple's Midi Manager, QuickTime 2.0 and QuickTime 
  385. Musical Instruments to play Midi files through your Mac's built-in speaker using 
  386. Midi JukeBox.  Obviously the sound quality is fairly lame compared to having a 
  387. real synthesizer available, and it is a pain to do, but if you don't have a 
  388. synthesizer, then this may be your only option.  Here's how you do it:
  389.     1. Get Apple's Midi Manager (See “Midi Drivers” above).  Put the “Midi 
  390. Manager” in your Extensions folder (in the System folder), put the “Midi Driver” 
  391. in the System folder, and put the “PatchBay” application somewhere where you 
  392. can find it (like the Apple Menu Items folder).
  393.     2. Get QuickTime 2.0, and put it in your system's “Extensions” folder.
  394.     3. Get QuickTime Musical Instruments, and put it in the “Extensions” folder, 
  395. too.
  396.     4. Get QuickTime MIDI Player 1.3 (Note: this is someone else's $15 
  397. shareware program.  If you continue to use it, please pay their shareware fee, 
  398. too).
  399.     5. Reboot.  The above steps only need to be done once, but the rest must be 
  400. done each time you want to play songs through your speaker.
  401.     6. Run Midi JukeBox, and make sure Midi Manager is selected as the Midi 
  402. Driver.
  403.     7. Run QuickTime MIDI Player.
  404.     8. Run the PatchBay application, and connect the output of “Midi JukeBox” 
  405. into the input of QuickTime.  Also, disconnect the output of “Midi JukeBox” 
  406. from the input of Apple Midi Driver.  You can quit the PatchBay application, but 
  407. you must leave the QuickTime MIDI Player running in order to play the music.
  408.     9. Now, play songs from Midi JukeBox, and they should come out your 
  409. speaker.  The faster your Mac is the better!
  410.  
  411. Bugs
  412.     Please send reports of bugs to me at:
  413.         randy@axon.cs.byu.edu
  414.     It would be helpful if you could be as specific as possible about the bug.  If 
  415. you have a particular MIDI file that you know is O.K., but which Midi JukeBox 
  416. chokes on, I might want the file, too, so I can repeat the error and find out what 
  417. is wrong.  A bug that is not repeatable is really hard to track down.
  418.  
  419. Disclaimer
  420.     Midi JukeBox is distributed “as is.”  I make no guarantees or warranties on the 
  421. quality of the product and I cannot be held liable for any problems that this 
  422. software may create.  In particular, if you are doing something important on 
  423. your computer while playing songs in the background, I would strongly caution 
  424. you to save your work often in case the interrupts go haywire. The built-in MIDI 
  425. driver is someone else's code, and may not be compatible with all models of 
  426. Macintosh computers.
  427.  
  428. I hope you enjoy Midi JukeBox.  Drop me an e-mail note—I'd love to hear from 
  429. you.
  430.  
  431. Randy Wilson
  432. randy@axon.cs.byu.edu
  433. http://synapse.cs.byu.edu/~randy
  434.